applications of graphs in data structure